import 'package:freezed_annotation/freezed_annotation.dart';
import 'package:json_annotation/json_annotation.dart';

part 'sj_broad_caster_data.g.dart';
part 'sj_broad_caster_data.freezed.dart';

@freezed
class SjBroadCasterData with _$SjBroadCasterData {
  @JsonSerializable(explicitToJson: true)
  const factory SjBroadCasterData({
    final String? userId,
    final String? nickname,
    final String? avatar,
    final String? avatarMapPath,
    final int? gender,
    final int? age,
    final String? country,
    final String? status,
    final int? callCoins,
    final String? unit,
    final List<String>? videoMapPaths,
    final int? followNum,
    final bool? isFriend,
    final bool? isMultiple,
    final String? about,
    final int? grade,
    final String? analysisLanguage,
    final bool? isSignBroadcaster,
    final int? showRoomVersion,
    final int? broadcasterType,
  }) = _SjBroadCasterData;

  factory SjBroadCasterData.fromJson(Map<String, dynamic> json) =>
      _$SjBroadCasterDataFromJson(json);
}
